package client // Package client import "xemo.top/docker/docker/client"
import (
	"net/url"
	"regexp"
	"xemo.top/docker/docker/api/types/filters"
)

var headerRegexp = regexp.MustCompile(`\ADocker\.+\s\((.+)\)\z`)

// getDockerOs 从守护程序返回基于服务器头的操作系统
// getDockerOs returns the operating system based on the server header from the daemon
func getDockerOS(serverHeader string) string {
	var osType string
	matches := headerRegexp.FindStringSubmatch(serverHeader)
	if len(matches) > 0 {
		osType = matches[1]
	}
	return osType
}

// getFiltersQuery 根据提供的过滤器，返回带有 “过滤器” 查询词的url查询
// getFiltersQuery returns an url query with "filters" query term,based on the filters provided
func getFiltersQuery(f filters.Args) (url.Values, error) {
	query := url.Values{}
	if f.Len() > 0 {
		filterJSON, err := filters.ToJSON(f)
		if err != nil {
			return query, err
		}
		query.Set("filters", filterJSON)
	}
	return query, nil
}
